#include "KeyPort.h"
#include "sys.h"

void HardKey_Init(void)
{
 GPIO_InitTypeDef  GPIO_InitStructure;
 	
 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOB, ENABLE);	 //KEY1-PA2,KEY2-PA3,KEY3-PA4,KEY4-PA4,KEY5-PB0
	
 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2|GPIO_Pin_3|GPIO_Pin_4|GPIO_Pin_5;				 
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; 		 	 
 GPIO_Init(GPIOA, &GPIO_InitStructure);	

 GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;				 
 GPIO_InitStructure.GPIO_Mode = GPIO_Mode_IPU; 		 	 
 GPIO_Init(GPIOB, &GPIO_InitStructure);		
}
unsigned char HardKey_GetKey(HardKeyType key)
{
	unsigned char result=0;
	switch (key)
	{
		case HardKey1:
			result=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_2);
			break;
		case HardKey2:
			result=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_3);
			break;
		case HardKey3:
			result=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_4);
			break;
		case HardKey4:
			result=GPIO_ReadInputDataBit(GPIOA,GPIO_Pin_5);
			break;
		case HardKey5:
			result=GPIO_ReadInputDataBit(GPIOB,GPIO_Pin_0);
			break;
		default:
			break;		
	}
	
	return result;
}